package org.edu.modules.salary.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.edu.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 在职人员工资表
 */
@Data
@TableName("ve_hr_employee_payroll")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "在职人员工资表", description = "在职人员工资表")
public class VeHrEmployeePayroll implements Serializable {
    private static final long serialVersionUID = 1L;



    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**
     * 更新日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;

    /**
     * 教师id
     */
//    @Excel(name = "教师id", width = 15)
    @ApiModelProperty(value = "教师id")
    private String teacherid;

    /**
     * 人员姓名
     */
    @Excel(name = "人员姓名", width = 15)
    @ApiModelProperty(value = "人员姓名")
    private String empName;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号")
    private String idCard;
    /**
     * 岗位
     */
    @Excel(name = "岗位", width = 15, dicCode = "id", dicText = "title", dictTable = "ve_hr_gangwei")
    @ApiModelProperty(value = "岗位")
    @Dict(dicCode = "id", dicText = "title", dictTable = "ve_hr_gangwei")
    private String post;

    /**
     * 岗位工资
     */
    @Excel(name = "岗位工资", width = 15)
    @ApiModelProperty(value = "岗位工资")
    private BigDecimal postPay;
    /**
     * 薪级工资
     */
    @Excel(name = "薪级工资", width = 15)
    @ApiModelProperty(value = "薪级工资")
    private BigDecimal payScalePay;
    /**
     * 基本工资津贴（10%）
     */
    @Excel(name = "基本工资津贴（10%）", width = 15)
    @ApiModelProperty(value = "基本工资津贴（10%）")
    private BigDecimal basicPayAllow;
    /**
     * 教龄工资
     */
    @Excel(name = "教龄工资", width = 15)
    @ApiModelProperty(value = "教龄工资")
    private BigDecimal seniorityPay;
    /**
     * 纪检津贴
     */
    @Excel(name = "纪检津贴", width = 15)
    @ApiModelProperty(value = "纪检津贴")
    private BigDecimal jjAllow;
    /**
     * 综治津贴
     */
    @Excel(name = "综治津贴", width = 15)
    @ApiModelProperty(value = "综治津贴")
    private BigDecimal zzAllow;
    /**
     * 绩效津贴
     */
    @Excel(name = "绩效津贴", width = 15)
    @ApiModelProperty(value = "绩效津贴")
    private BigDecimal achievementAllow;
    /**
     * 合计
     */
    @Excel(name = "合计", width = 15)
    @ApiModelProperty(value = "合计")
    private BigDecimal total;
    /**
     * 取暖费
     */
    @Excel(name = "取暖费", width = 15)
    @ApiModelProperty(value = "取暖费")
    private BigDecimal heatingFee;
    /**
     * 独生子女费
     */
    @Excel(name = "独生子女费", width = 15)
    @ApiModelProperty(value = "独生子女费")
    private BigDecimal dsznFee;
    /**
     * 班主任津贴
     */
    @Excel(name = "班主任津贴", width = 15)
    @ApiModelProperty(value = "班主任津贴")
    private BigDecimal headmasterAllow;
    /**
     * 话费
     */
    @Excel(name = "话费", width = 15)
    @ApiModelProperty(value = "话费")
    private BigDecimal phoneBill;
    /**
     * 补发工资
     */
    @Excel(name = "补发工资", width = 15)
    @ApiModelProperty(value = "补发工资")
    private BigDecimal reissuePay;
    /**
     * 临时工资
     */
    @Excel(name = "临时工资", width = 15)
    @ApiModelProperty(value = "临时工资")
    private BigDecimal tempPay;
    /**
     * 课时津贴
     */
    @Excel(name = "课时津贴", width = 15)
    @ApiModelProperty(value = "课时津贴")
    private BigDecimal ksAllow;
    /**
     * 卫生费
     */
    @Excel(name = "卫生费", width = 15)
    @ApiModelProperty(value = "卫生费")
    private BigDecimal hygieneFee;
    /**
     * 本月补发小计
     */
    @Excel(name = "本月补发小计", width = 15)
    @ApiModelProperty(value = "本月补发小计")
    private BigDecimal bybfSubtotal;
    /**
     * 工会会费
     */
    @Excel(name = "工会会费", width = 15)
    @ApiModelProperty(value = "工会会费")
    private BigDecimal unionDues;
    /**
     * 公积金
     */
    @Excel(name = "公积金", width = 15)
    @ApiModelProperty(value = "公积金")
    private BigDecimal providentFund;
    /**
     * 医保
     */
    @Excel(name = "医保", width = 15)
    @ApiModelProperty(value = "医保")
    private BigDecimal medicalIns;
    /**
     * 养老保险
     */
    @Excel(name = "养老保险", width = 15)
    @ApiModelProperty(value = "养老保险")
    private BigDecimal endowmentIns;
    /**
     * 职业年金
     */
    @Excel(name = "职业年金", width = 15)
    @ApiModelProperty(value = "职业年金")
    private BigDecimal occpAnnuity;
    /**
     * 专项扣除
     */
    @Excel(name = "专项扣除", width = 15)
    @ApiModelProperty(value = "专项扣除")
    private BigDecimal specDeduct;
    /**
     * 补扣工会经费
     */
    @Excel(name = "补扣工会经费", width = 15)
    @ApiModelProperty(value = "补扣工会经费")
    private BigDecimal bkGhJf;
    /**
     * 扣公积金-社保
     */
    @Excel(name = "扣公积金-社保", width = 15)
    @ApiModelProperty(value = "扣公积金-社保")
    private BigDecimal kgjjSb;
    /**
     * 税款
     */
    @Excel(name = "税款", width = 15)
    @ApiModelProperty(value = "税款")
    private BigDecimal taxes;
    /**
     * 代扣小计
     */
    @Excel(name = "代扣小计", width = 15)
    @ApiModelProperty(value = "代扣小计")
    private BigDecimal withholdSubtotal;
    /**
     * 财政统发工资数
     */
    @Excel(name = "财政统发工资数", width = 15)
    @ApiModelProperty(value = "财政统发工资数")
    private BigDecimal czTfGzs;
    /**
     * 补发金额
     */
    @Excel(name = "补发金额", width = 15)
    @ApiModelProperty(value = "补发金额")
    private BigDecimal bfJe;
    /**
     * 实发合计
     */
    @Excel(name = "实发合计", width = 15)
    @ApiModelProperty(value = "实发合计")
    private BigDecimal sfTotal;
    /**
     * 工资条日期
     */
    @Excel(name = "工资条日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "工资条日期")
    private Date payrollDate;

}
